iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
AI Security

我做了一個Claude skill的掃毒軟體學到的那些事系列 第 3

AI成了我的主管,我在幫他複製、貼上

  • 分享至 

  • xImage
  •  

寫完前兩篇文章,我發現自己遇到了一個問題: AI成了我的主管,我反而變成了他的助手,幫它寫字、發文章的機器人。

這就好像我第一天那篇文章寫的,「誰都可以成為指揮者」一樣,我現在反而被 AI 指揮了。

每當遇到很多不懂的東西,我都會先問AI,尤其是像大語言模型的本質這種很玄又充滿理論的東西,當他一次給了我許多之前完全沒學過的東西,馬上就超出我的認知負荷。

腦袋運作不了,只能大概看過AI給的答案,在沒有時間好好消化的情況下,寫的文章就悄悄溜了出去,飽含AI的字眼流露在文章當中。

因此,我想先以我過去的透過AI打造小章魚就是Claude skill 掃毒軟體的經驗分享,也許少了一點技術知識,但希望可以幫助想要透過AI打造新世界的你,能夠避免被AI向上管理,不成為AI的助手。

我不是資工、軟體相關背景的Builder,所以當我開始用AI做一個資安軟體的時候,想得很簡單,只要核心功能測試沒問題,那用AI打造小章魚應該就沒問題吧!

一開始我是跟夥伴一起用Gemini先做一個看起來可以互動的HTML頁面,頁面上有一個可以輸入的視窗,測試攻擊的地方會顯示有沒有防禦成功,掃描並阻擋掉攻擊,看起來可以測試許多不同的Prompt injection。

當時我覺得看起來很棒,沒問題!那我們可以接著把程式碼做出來了,於是改成用Antigravity來開始Vibe coding程式碼,我想說叫Gemini給我一個Prompt,讓Antigravity寫出來應該沒問題?

Antigravity確實把程式碼寫出來了,但是在測試的過程中卻開始跟我要Gemini的API Key,我不懂那是什麼?於是又跑去問AI了。

後來了解之後發現API Key是一個程式專屬的身分證和visa卡,他可以幫你證明,這是你的程式正在連接大型語言模型,並且追蹤這段期間請求AI回答的費用。

卻產生了困惑,為什麼Gemini不用API Key,但是Antigravity寫的程式卻需要API Key?

後來才知道,Gemini是google的產品,是登入帳號使用的,Google可以知道你是誰,可以向你收訂閱費,但是自己寫的程式,Google不知道我是誰?不能確定誰在使用要向誰收費?

我也嘗試用google 的AI studio申請API key,但卻馬上犯了一個嚴重的錯誤,我把API key直接傳給Antigravity看,我沒有寫在檔案當中,而是給了Antigravity,要他幫我放到程式碼當中。

在當時我完全沒有意識到API key直接給AI等於將API key半公開,因為API key會被留在跟AI的對話紀錄當中,不確定會被保留多久?會被誰看到?

還有API key可能會被AI直接寫進程式當中,失去了對於API key放在哪裡的控制,如果未來把程式放到Github上公開了,誰都可以看到。雖然在當時,我心裡就是想著寫進程式當中,就不用麻煩了。

如果你已經把API key給AI了,也不用緊張,你可以去AI studio把過去API key刪掉,然後重新申請新的API key,並且把API key放到.env檔案,一個專門放機密設定的檔案,並且把.env檔放到.gitignore,至於具體怎麼做?可以問AI,請他一步步帶你做,以及問他為什麼?

(很久之後,我才把當時申請API key給撤掉刪除,因為那時候申請的就是免費額度的,如果你要開啟付費的,請記得確認你之前開的API key都知道放在哪裡,並且沒有公開在Github上面的喔。)

為了繼續把整個小章魚開發出來,我付費訂閱了Claude,開始嘗試用Claude chat和Claude code。

也開始我第一段慢慢讓出主導權給Claude chat和Claude code的開發過程。

第一次獨自開發掃毒軟體我完全不知道,要怎麼做才好?我甚至連軟體最終的樣子都想像不到?

於是我先跟Claude chat討論完整的產品架構與功能,在一次把所有要開發的東西,透過Prompt提示詞複製貼上丟給Claude code,一個新學到的開發方式。

但在我一輪輪跟Claude chat的討論過程中,也慢慢的變成了AI的助手,我透過系統提示詞結構化Claude給的回覆與建議,也結構化了AI與我的關係,我漸漸聽從他給的建議,少了更多的提問、質疑與要求解釋?

在很多半知半解的情況下做出了一個看起可以Demo的初版小章魚,可以運作在Localhost的網頁(就是只能在自己的電腦打開)當中了,但是正當我想說,做好了要把API key給Claude的時候,卻被他說,沒有地方可以放API key,過去所有針對Prompt injection規則的測試,所有的防禦偵測規則調整都是假的,目前的程式,只是模擬有這些東西去運作,並沒有實際可以放API key的地方,我辛苦花了3週,做出一個看起來可以偵測Prompt injection的空殼。

後來我才知道了那是一種叫做mock,先放一些模擬資料回應讓程式可以跑,並且測試的開發方式。

這是我第一次發現,我只是AI的助手,而不是實際的開發者,我不懂程式怎麼運作的?

為了要好好的了解AI寫的程式,我做了一個閱讀程式碼的筆記。

我要Claude code每次新寫出程式碼,就解釋程式碼的

核心功能

為什麼是增加這些程式而不是其他的?

考量過哪些?

有什麼潛在的的技術債或是問題

並且,我在看完後,以自己的話寫一遍,我對於這些程式的理解。

雖然也因此開發速度變慢了,但是我也才知道這些程式碼大概的功能,負責做是什麼?

AI帶給我很多,看起來很棒的事情,但是當我沒有時間慢下來整理方向,思考實際要解決的問題是什麼?我可能會被AI一路推著走,最終也許會做出一個看起來很棒,被大家稱讚,但是可能沒有人要用的產品。

我還是不知道別人怎麼2個小時、一個晚上做出一個APP,但是我知道怎麼去了解AI寫的東西和我寫的東西的差別了。


上一篇
Day 2 為什麼會有 Prompt Injection:一隻分不清主人和客人的鸚鵡
下一篇
當資料變成武器:提示詞注入與 AI 供應鏈
系列文
我做了一個Claude skill的掃毒軟體學到的那些事10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言